System and method for secure use of messaging systems

ABSTRACT

A system and method for secure use of messaging systems. A mediator may receive an original message, process the original message to produce a processed message, and may forward the processed message to a server or a messaging system. A mediator may receive a processed message from a server or a messaging system, process the received processed message to produce an unprocessed message that may be substantially identical to the original message and may forward the unprocessed message to a destination.

BACKGROUND OF THE INVENTION

Electronic Mail is one of the most common communication forms. TheInternet and the World Wide Web has made Electronic Mail a widespreadapplication in use by numerous individuals and organizations. In thebasic e-mail model, a user accesses an e-mail server using a networkcommunication protocols, can retrieve messages waiting for him or her,and can send new messages to one or more intended recipients. Severale-mail vendors offer additional functionality on top of this basicfunction, such as managing contacts, filtering and categorizing emails,etc.

There are many e-mail vendors who provide e-mail services in theInternet, rather than distribute the software for operating an e-mailserver. Prominent examples include Google®'s Gmail™ service, Hotmail™and also many smaller Internet Service Providers (ISPs). In suchInternet-hosted services, users' messages and other data are stored onthe email provider's servers. Some organizations and individualsconcerned of their privacy are reluctant to use such hosted services, asusers' data and messages are trusted to a third party—the emailprovider.

Electronic mail is a global and open system. Every email provider isregistered for one or more e-mail domains. E-mail addresses alwaysinclude this e-mail domain. When an e-mail message needs to be deliveredto its recipient, the global e-mail domain registry is consulted inorder to find the server handling this domain; then the message is sentto that server; the server stores the message; and later the recipientretrieves the message from the server. The global registry of e-maildomains is operated using the global Domain Name System (DNS), in whichrecords known as MX records are registered by providers. An MX record ofan email domain points to a server handling incoming messages for thatdomain.

Email providers typically emphasize their taking of security measures toprotect users' data. Such measures include protecting the communicationsbetween the user and the provider by encrypting the network traffic,strong security policies enforced in the provider's data centers,auditing and similar methods. However, all these measures do noteliminate the basic concern of putting a user's data in the hands ofanother party.

SUMMARY OF EMBODIMENTS OF THE INVENTION

Embodiments of the invention may enable secure use of messaging systems.A system for securing messages may include a mediator that may receivean original message, process the original message to produce a processedmessage, wherein the processing includes transforming at least a portionof the original message, and forward the processed message to a serveror a messaging system. A mediator may receive a processed message from aserver or a messaging system, process the received processed message toproduce an unprocessed message that may be substantially identical tothe original message and may forward the unprocessed message to adestination. Processing a message may include encrypting or obfuscatingany portion of a message including a sender and/or a recipient addressor name, a domain and/or a body of the message. A mediator may mediaterequests and/or queries related to processed messages stored on amessaging system.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the invention are illustrated by way of example and notlimitation in the figures of the accompanying drawings, in which likereference numerals indicate corresponding, analogous or similarelements, and in which:

FIG. 1 shows a schematic block diagram of a system according toembodiments of the invention;

FIG. 2 shows a schematic block diagram of a system according toembodiments of the invention;

FIG. 3 shows a schematic block diagram of a system according toembodiments of the invention;

FIG. 4 schematically shows a flow according to embodiments of theinvention; and

FIG. 5 illustrates an exemplary method of encryption according toembodiments of the invention.

It will be appreciated that for simplicity and clarity of illustration,elements shown in the figures have not necessarily been drawn accuratelyor to scale. For example, the dimensions of some of the elements may beexaggerated relative to other elements for clarity, or several physicalcomponents may be included in one functional block or element. Further,where considered appropriate, reference numerals may be repeated amongthe figures to indicate corresponding or analogous elements.

DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION

In the following detailed description, numerous specific details are setforth in order to provide a thorough understanding of the invention.However, it will be understood by those skilled in the art that thepresent invention may be practiced without these specific details. Inother instances, well-known methods, procedures, and components,modules, units and/or circuits have not been described in detail so asnot to obscure the invention. Some features or elements described withrespect to one embodiment may be combined with features or elementsdescribed with respect to other embodiments. For the sake of clarity,discussion of same or similar features or elements may not be repeated.

Although embodiments of the invention are not limited in this regard,discussions utilizing terms such as, for example, “processing,”“computing,” “calculating,” “determining,” “establishing”, “analyzing”,“checking”, or the like, may refer to operation(s) and/or process(es) ofa computer, a computing platform, a computing system, or otherelectronic computing device, that manipulates and/or transforms datarepresented as physical (e.g., electronic) quantities within thecomputer's registers and/or memories into other data similarlyrepresented as physical quantities within the computer's registersand/or memories or other information non-transitory storage medium thatmay store instructions to perform operations and/or processes.

Embodiments of the invention may include an article such as a computeror processor readable non-transitory storage medium, such as for examplea memory, a disk drive, or a USB flash memory encoding, including orstoring instructions, e.g., computer-executable instructions, which whenexecuted by a processor or controller, cause the processor or controllerto carry out methods disclosed herein. For example, a mediator may besuch article.

Although embodiments of the invention are not limited in this regard,the terms “plurality” and “a plurality” as used herein may include, forexample, “multiple” or “two or more”. The terms “plurality” or “aplurality” may be used throughout the specification to describe two ormore components, devices, elements, units, parameters, or the like.Unless explicitly stated, the method embodiments described herein arenot constrained to a particular order or sequence. Additionally, some ofthe described method embodiments or elements thereof can occur or beperformed simultaneously, at the same point in time, or concurrently.

The present invention enables solving the trust problem discussed aboveby addressing its root cause: the trust that a user must have towards anemail provider. The invention enables users to use remote e-mail serviceproviders without exposing the content and/or recipients of theirmessages to the service provider. In addition to email systems, thepresent invention has applicability to messaging systems which need notbe electronic in nature. The invention can make in-bound and out-boundmessage interception for content securing for any messaging system.

The present invention includes a messaging client portion, a messagingserver portion, and a mediator adapted to intercept and modifycommunications between the messaging client portion and the messagingserver portion. Optionally, the invention also includes one or moreoutgoing communication modules adapted to receiving messages sent to athird party after leaving the server portion and before reaching a thirdparty. Optionally, the invention also includes one or more incomingcommunication modules adapted to receiving messages from a third partybefore reaching the server portion.

The client portion may be a human user, a computer agent being used by aperson or an automatic agent operating on behalf of a person. The clientmay access the server, may send a message or messages retrieve request,may send a message or messages send request, and may request any otheroperations. The mediator may be adapted to receiving requests from theuser intended for the server, processing requests to produce processedrequests, and forwarding the processed requests to the messaging server.The processing of a message (e.g., associated with a message sendrequest) may include detecting message parts such as message subject,message body, message attachments, message recipient address oraddresses, message author address or addresses, and other message parts.Processing of a message (e.g., an original message received from aclient) may include encrypting all or a portion of the original message.For example, portions of a message that may be encrypted or otherwiseprocessed may be a recipient address, a sender address, a subjectassociated with the message, an attachment, a message header and/or abody of the message. Processing a message may include processing messageportions, parts or elements jointly or separately to provide a processedmessage composed of processed message elements.

A mediator may include two portions, a first portion adapted toreceiving requests from a client, and a second portion adapted toreceiving responses from the server. A mediator that may receive anoriginal message from a client, process the original message to producea processed message and forward the processed message to a server may bereferred to herein as a forward mediator. A mediator that may receive aprocessed message from a server, process the received processed messageto produce an unprocessed message, e.g., such that the unprocessedmessage may be substantially identical to an original message, andforward the unprocessed message, e.g., to a client may be referred toherein as a reverse mediator.

In an embodiment of the present invention, the processing performed atthe mediator, incoming communication module and outgoing communicationmodule may include encrypting incoming and outgoing messages before theyare received by the messaging server, and decrypting messages beforethey are received by either a user of the system or a third partyrecipient of a message authored by the user. Thus an email provider isable to provide an email messaging service without gaining access to auser's data, and users are able to work with an untrusted emailprovider. An embodiment of the present invention may securecommunication of information over various network protocolssimultaneously, including SMTP, POP3, IMAP, MAPI, Web-based access tomail services such as Gmail, etc.

Reference is made to FIG. 1 that shows a schematic block diagram of asystem and flows according to embodiments of the invention. As shown byFIG. 1, an embodiment of the invention may include both an outgoingcommunication module, an incoming communication module and a mediator.The incoming and outgoing communication modules and the mediator may beimplemented as network nodes, or attached to, or incorporated in acomputing device, e.g., a user's computer or a server. The incoming andoutgoing communication modules and the mediator may be separate units ordevices or they may be combined into a one or more units. A messagingclient 101 may access a messaging server 103 with the mediator 102mediating communication of information, data and/or parameters betweenthe messaging client and the server. For example, some or allinformation communicated between the messaging client and the server maybe routed through, or intercepted by, a mediator. It will be understoodthat a various setups, systems or configurations may be possible. Forexample, a single mediator may include both an incoming and an outgoingcommunication module. An incoming communication module may function as aforward mediator.

The messaging client may send and receive messages in clear-text (121),and the messaging client receives and sends these messages encrypted(122). When a third party 107 sends a message (123) to the client, itmay first be received by the incoming communication module 106, then theincoming communication module may encrypt the message and may send itencrypted (124) to the messaging server. The encrypted message may bestored in the messaging server. Later, when the client accesses themessaging server using the mediator, the encrypted message may bedecrypted before being received at the client. In another case, when theclient is sending a message to a second third party 105, the message maybe encrypted when sent to the messaging server, stored there encryptedin the user's outbox, then sent encrypted (125) to the outgoingcommunication module 104, decrypted and sent in plain-text (126) to thesecond third party (105). The client, mediator, incoming communicationmodule and outgoing communication module may be located at arestricted-access network 150 such as the organization's privatenetwork, and thus may be able to apply encryption and decryption usingencryption keys available only in the restricted-access network.

An embodiment of the present invention may include an outgoingcommunication module functioning as a reverse mediator. When an outgoingcommunication module exists, the mediator may process one or morerecipients in a message send request to provide one or more processedrecipients. The processed recipients may be constructed such that themessage will be received at an outgoing communication module after beingsent from the messaging server to the processed recipient address. Theprocessing of an intended recipient may include at least one of (a)encrypting the recipient address, (b) adding identification informationto the processed recipient in order to assist interception or detectionof a processed recipient in a body of text, (c) adding contextinformation indicating the context in which the processing has takenplace, (d) encoding the processed recipient such that it is not rejectedby the email server, (e) adding address destination information toindicate to the email server how to access an outgoing communicationmodule for delivery of the message, (f) breaking up the original addressto provide searchable terms within the address, then adding encryptedforms of the searchable terms to the processed recipient, (g) any otherprocessing modifying the intended recipient.

Optionally, to increase security of information related to the intendedrecipients, processing of the intended recipients may include at leastone of (a) producing one or more processed recipients from one or moreintended recipients, (b) generating fake recipient addresses that can beidentified as fake by an outgoing communication module but notnecessarily by other parties, (c) placing processed recipients inanother message part such as the message body or subject, (d) changingthe location or role of an intended recipient, for example removing allintended recipients from an email “cc” or “bcc” recipient list andputting them all in the “to” recipient list. Any modifications to aheader or metadata of a message may be performed. For example, recipientaddresses may be modified, removed, replaced or added.

Reference is made to FIG. 2 that shows a schematic block diagram of asystem and flows according to embodiments of the invention. FIG. 2illustrates how an outgoing email message may be processed by anembodiment of the present invention in an email messaging system. Theoutgoing communication module 204 may be registered for deliveringmessages of a unique or specific email domain “out.client.com”, using aDNS MX registration. When the mediator 202 processes a recipient of anemail message 222 received from the client 201, it may: (1) encrypt themessage recipient, subject and body, (2) encode the encrypted recipientin Base-32 encoding, (3) add an at-sign (“@”) to the encoded recipient,(4) add the unique email domain registered for an outgoing communicationmodule, (5) add authentication information to the outgoing message.

Later, when the email server 203 tries to deliver the processed message221 to the processed recipient, the message will reach an outgoingcommunication module 204 as the email domain of the processed recipientis handled by the outgoing communication module. The outgoingcommunication module may proceed to process the processed message,providing a re-produced 222 message and may forward the re-producedmessage to the originally unprocessed intended recipient using therecipient's MTA 205.

Optionally, the mediator includes in the processed messageauthentication information to be validated by an outgoing communicationmodule. The outgoing communication module may thus able to validate theauthenticity of a processed message, and may refuse to process anyun-authenticated messages. The authentication information may include anencryption time indication or a time expiration indication to indicatethe time for which the authentication information is valid. Theauthentication information may be digitally signed or encrypted toprovide confidentiality or tampering resistance.

The present invention may include one or more incoming communicationmodules adapted to receiving messages from a third party intended for auser of the system. An incoming module may process an original incomingmessage to provide a processed message, and then forward the processedmessage to the messaging server. In order for incoming messages to bereceived at an incoming communication module, an outgoing communicationmodule may modify the sender address or reply-to address in the outgoingmessage such that any reply will be received at an incomingcommunication module. The incoming communication module may beregistered at the messaging system's address registry, and an outgoingcommunication module may produce a processed sender address handled byan incoming communication module.

For example, if the original sender address of an email message is“sender@mail.com”, an outgoing communication module may change it to“sender@incoming.mail.com”, and an incoming communication module may beregistered at the DNS system to process messages for the domain“incoming.mail.com”.

Reference is made to FIG. 2 that shows a schematic block diagram of asystem and flows according to embodiments of the invention. Generally,FIG. 3 illustrates how an embodiment of the invention processes incomingmessages. When a third party email user 301 sends an email message 321to the client 305, the message may first be received and processed atthe incoming communication module 302. The incoming communication modulemay encrypt the message's body, subject, sender address, and recipient.The recipient may further be encoded in Base-32, and the email domain“@client.com” may be appended to the processed message 322. Theprocessed message may then be received by the client's untrusted MTA303, which may store the encrypted message and may make it available forthe client for later retrieval. When the client 305 eventually retrievesthe message, the message may be decrypted at the mediator before beingreceived at the client.

To provide additional security by hiding the identity of the user, thesystem may process one or more sender addresses in at least one of (a)sender addresses occurring in message send requests made by the clientand received at the mediator before being received at the messagingserver, (b) user names for authentication to a messaging server receivedat the mediator before being received at the messaging server, (c)sender addresses occurring in outgoing messages, received at an outgoingcommunication module, (d) recipient address of an incoming message,received at an incoming communication module, (e) anywhere where a username may occur.

Some messaging servers require a client to authenticate to a messagingserver before requesting any further requests, including message sendrequests. Some of these authenticating messaging servers may alsorequire the sender address in message send requests to be validatedagainst the authentication credentials received from a client. In suchcases, the system may process user names and sender address such thatthe processed user names and sender addresses do not cause requests tobe rejected by the messaging server. For example, processed user namesand sender addresses may be generated such that they adhere with a rule,criteria, format or any requirement dictated by the messaging server.

In the mediator, processing of user names occurring in sender addressesto provide processed user names may include at least one of (a)encrypting the one or more user names using a symmetric cipher and aprivate key, (b) adding identification information to the processed oneor more user names in order to assist interception or detection of aprocessed one or more addresses in a body of text, (c) adding contextinformation indicating the context in which the processing has takenplace, (d) encoding the processed one or more user names such that it isnot rejected by a messaging application in the messaging system, (e)maintaining a fixed mapping between original user names and processeduser names, and replacing an original sender addresses with a matchingprocessed sender address using this mapping, (f) any other processingmodifying the original one or more sender address.

Optionally, the processing of sender addresses and user names in themediator may include processing an indication of registered handler formessages, such as an email domain in email messages. When an indicatedhandler for messages is the incoming communications module, the mediatormay replace it with the indicated handler which is the messaging server,such that the messaging server is not aware of an incoming communicationmodule. In an incoming communication module, processing of recipientaddresses may include any processing applied in the mediator to senderaddresses.

In an outgoing communication module, processing of sender addressesoccurring in outgoing messages may include (a) validation that thesender address has been previously received and processed by themediator, (b) modifying a part of a sender address indicating aregistered handler for incoming messages (e.g. the email domain in emailaddresses) to indicate that the handler is an incoming communicationmodule, (c) decrypting a user name occurring in sender addresses, (d)using a fixed mapping between original user names and processed usernames to retrieve an original user name, (e) removing identificationinformation added to a user name or sender address, (f) removing contextinformation added to a user name or sender address, (g) decoding encodeduser names or sender addresses, (h) any other processing needed torecover an original sender address or user name occurring in a senderaddress from user names or sender addresses previously processed at themediator or at an incoming communication module.

Reference is made to FIG. 4 that shows a flow according to embodimentsof the invention. FIG. 4 illustrates possible processing of emailaddresses in an embodiment of the invention securing emailcommunications. In this example, the email server compares theauthenticated user name to the user name part of an email address andmay reject a message send request if the two user names are not equal.Here, if the original sender of an email message is “jsmith@client.com”,the user name in an authentication request is “jsmith”, and themessaging server requires a user name received in an authenticationrequest to match the user-name part of a sender address received in amessage send request, then: (1) the processed sender address may be“ZZu38jiok@client.com”, (2) the processed user name in an authenticationrequest may be “ZZu38jiok”, (3) the email MTA 403 may check the senderagainst the user name and the sent message may thus be accepted by theMTA and may be processed normally. Inside the mediator, sender addressesand user names may be processed by (1) encrypting, (2) encoding inbase-32, (3) adding a rare identifier such as “ZZ”, (4) Add the client'semail domain—e.g., when required by the server.

The system may encrypt outgoing messages as part of their processing inthe mediator, such that messages send requests received at the messagingserver are encrypted. Encryption of messages may combine several messageelements such as message body, subject, sender, recipient or attachmentsand encrypt them together or separately. Encryption may be performedusing a symmetric cipher using a key known only to the mediator, anincoming communication module, or an outgoing communication module. Thesystem may encrypt messages as part of their processing in the incomingcommunication module, such that incoming messages received at themessaging server are encrypted.

Some servers enable users to search through sent and received messagesfor specific search terms. To support searching of encrypted messages,the mediator or an incoming communication module may identify searchableterms within the message subject, body, attachments or other messageelements, then encrypt theses searchable terms individually. Searchableterms may be encrypted individually and/or deterministically, such thatan encrypted searchable term is always equivalent to other encryptedsearchable terms when the original searchable terms are equivalent.Processing a request related to a message may be based on, or accordingto, the processing of the message. For example, the same encryption keyor scheme used to encrypt searchable or other terms in a message may beused to encrypt searchable or other terms in a subsequent search requestrelated to the message.

The system may process search requests in the mediator before such asearch request is received by the messaging server. The mediator mayencrypt every individual search term occurring in the search request inthe same way searchable terms within processed message elements areencrypted, using the same secret key or mapping. Optionally, encryptionof searchable message elements may separate searchable information fromun-searchable information, and un-searchable information may beencrypted separately from individual searchable terms. Un-searchableinformation may include (a) non-letter textual characters, such aspunctuation marks and space characters, (b) upper case or lower casevariations in letters, (c) diacritics added or removed from lettervariants, such as “café” vs. “cafe”, (d) a set of predefined wordsmarked as unsearchable, for example the words “this”, “that”, “a” may bemarked unsearchable, (e) variations in word boundary determination, suchas the distinction between “white board” and “whiteboard”, (f)variations in the morphological form of a base word, such as thedistinction between “send” and “sending”. The encrypted un-searchableinformation need not be deterministic, and may use cryptographic saltfor encryption. The process of removing un-searchable information fromindividual words or text segments is herein referred to asnormalization. An individual word or text segment included in theoriginal message may be herein referred to as an original term or anoriginal search term. The set of predefined words may include all wordsof certain length or lengths.

Optionally, encryption and decryption of searchable terms may beperformed by maintaining a mapping between encrypted and decryptedterms, instead of using a cipher and a private key. The mapping may besecret and known only to the mediator, incoming communication module andoutgoing communication modules. The mapping may include using anon-reversible keyed security transformation. Optionally, encryption anddecryption of searchable terms may be performed by a combination ofmaintaining a mapping and encrypting with a symmetric cipher and aprivate key. Optionally, e.g., in order to increase the resistance tostatistical cryptographic analysis, the order of encrypted searchableterms may be changed, with the original order encrypted separately orjointly with the un-searchable information.

Optionally, e.g., in order to increase the resistance to statisticalcryptographic analysis, fake encrypted searchable terms may be added toencrypted searchable terms. The indication of fake searchable terms willalso be encrypted. Further, fake encrypted searchable terms may beproduced in a statistical distribution that matches a statisticaldistribution of non-fake text bodies, such that it is not easy to deferwhich search terms are fake and/or which are not from a statisticalanalysis of an encrypted text. Optionally, to increase the resistance tostatistical cryptographic analysis, fake encrypted terms copied fromreal encrypted terms may be added to encrypted searchable terms, andreal words occurring more than once in the original text may have onlyone encrypted word in the processed text. Thus, it may be difficult foran attacker injecting a specific word to the system multiple times todetermine which of the fake words the encrypted form of the injectedword is.

To make the system more secure to statistical attacks while enablingsearching through text, the mediator or incoming communication modulemay encrypt the an entire textual input, such as the message body or themessage subject, in a single encrypted bulk (e.g., without determiningword boundaries or performing other segmentation). Then, to enablesearching, an encrypted form of every word appearing in the input may beincluded in the processed text, in an arbitrary order. Further,additional fake words may be added to the processed text.

Reference is made to FIG. 5 that illustrates an exemplary method ofencryption according to embodiments of the invention. FIG. 5 illustratesan exemplary encryption of a sentence in a searchable form, e.g., asdescribed in detail above. Encryption proceeds in several steps. Asshown by 510, input data may be received, for example, input data may beany portion of an original message, e.g., an e-mail message, including amessage body, metadata, information in a header of a message etc.

As shown by 520, individual data units may be identified, for example,input text may be broken up into a sequence of text segments. As shownby 530, unsearchable data units may be identified and/or marked, forexample, text segments may be selected for searchable encryption, e.g. asegment may be classified as a word, a word may be included in a groupof searchable or un-searchable words, a word may be excluded from thegroup of candidates based on its length, etc.

As shown by 540, data units may be normalized, for example, textsegments selected for searchable encryption may be normalized, e.g. byconverting all letters to lower case, by converting letters withdiacritics to letters without diacritics, by converting words tomorphologically equivalent variants such as converting plural forms intosingular forms, a combination of such methods, etc. Fourth, the order oftext segments selected for searchable encryption may be changed. Asshown by 550, normalized tokens may be shuffled and the shuffle order(or another parameter related to the shuffling of tokens) may berecorded, e.g., such that an original order may be restored. Forexample, information including un-searchable segments and possiblysearchable segments may be arranged in at least one un-searchabletokens, also referred to herein as control tokens, and segments selectedfor searchable encryption may be arranged in at least one secured searchterms. As shown by 560, a control token may be generated and/or used torecord any parameter related to any of the operations in the flow. Forexample, metadata or parameters related to conversions applied to data(e.g., a transformation and/or shuffle of terms) may be stored in acontrol token. The control token may be encrypted using a secret key. Asecured search term may be encrypted or may be transformed using aone-way keyed security transformation such as a cryptographic hashfunction, a cryptographic Message Authentication Code (MAC), etc.

The system may encrypt searchable message text elements such as messagesubject and body produced encrypted forms different from encrypted formsof addresses and contacts. For example, encrypted forms of emailaddresses may use only lower case ASCII characters for encoding emailaddresses, and encrypted forms of searchable words may use both uppercase and lower case letters. Optionally, to support searching of allencrypted forms, the system may process search requests to provideprocessed search requests, where any possible encrypted form of a searchterm is added in the search request. The possible encrypted forms areadded to the search request in a way that the messaging serverunderstands that the relation between the searchable terms is a logicaldisjunction relation (also called an “OR” relation).

Optionally, to support searching of encrypted forms in sender andrecipient addresses, the system may add to the processed address asearchable form of every searchable term in an input address, when theformat of a processed address allows this adding. For example, someemail servers allow a display-name to be added to email address in theform “MyName” <myuser@mymail.com>. The mediator or incomingcommunication module may add an encrypted form of searchable termsoccurring in an email address such as “myuser” and “myemail” to thedisplay-name part of the email address, thus providing “MyName-encryptedmyuser-encrypted myname-encrypted”<myuser-mymail-com-alternate-form-encrypted>@mail.com”.

Since incoming messages sent from a third party to a user of the systemmay be encrypted without the third party authentication to the system,this could become a security risk, assisting an attacker to obtainencrypted forms of specific words if the attacker gains access to theuser's account in a messaging server. Optionally, the incomingcommunication module may encrypt incoming messages in an un-searchable,non-deterministic form, such that multiple injection attempts do notprovide an attacker with repeated encrypted forms, and not assisting inbuilding a mapping between encrypted and plain-text forms of specificinjected words. The system may later detect that the incoming messagewas sent from a legitimate user by at least one of (a) recognizing amessage sent from the user to that user, (b) the user explicitlyindicating the sender to the system as a legitimate user, (c) otherheuristic or statistical analysis proving that the sender is legitimate.

Optionally, the outgoing communication module may include in theprocessed sender address information indicating the recipient orrecipients of the message, in an encrypted form. Later, when therecipient replies to the processed sender address, an incomingcommunication module can verify that the replier is sending a message toan address he is authorized to send messages to. Optionally, the systemmay recognize illegitimate senders of incoming messages as spam senders,and handle such messages as spam messages.

A major concern of many email vendors may be spam messages. Generally,spam messages are unsolicited messages sent to the user or to a largegroup of users, usually encouraging the recipient to purchase goods orotherwise disturbing the user without invitation. Some messaging serversanalyze message content in order to identify spam messages. Embodimentsof the invention may thus interfere with this processing as the messagecontent may be hidden from the messaging server. In some embodiments, anincoming communication module may perform spam identification beforeforwarding the message to the messaging server. The incomingcommunication module may apply any available spam identificationtechnique or tools prior to forwarding the message to the messagingserver. The spam identification process may herein be referred to asproduction of message classification information. Any processing of amessage as described herein may be based on classification informationproduced by a classification of the message. For example, an encryptionscheme may be selected based on a classification of the message. Aclassification of a message may be based on information included in amessage (e.g., a recipient, a sender, a subject, content included in abody etc.). A classification of a message may be based on a context orany relevant parameter, e.g., a communication channel over which themessage is communicated (e.g., a secured or non-secured channel), adestination server or web site and the like.

Embodiments of the invention, e.g., a mediator as described herein, mayinclude an article such as a computer or processor non-transitoryreadable medium, or a computer or processor non-transitory storagemedium, such as for example a memory, a disk drive, or a USB flashmemory, encoding, including or storing instructions, e.g.,computer-executable instructions, which, when executed by a processor orcontroller, carry out methods disclosed herein. Some embodiments, e.g.,a mediator as described herein, may be provided in a computer programproduct that may include a non-transitory machine-readable medium,stored thereon instructions, which may be used to program a computer, orother programmable devices, to perform methods as disclosed herein.

The storage medium may include, but is not limited to, any type of diskincluding optical disks, rewritable compact disk (CD-RWs) and the like.The storage medium may include semiconductor devices such as read-onlymemories (ROMs), random access memories (RAMs), such as a dynamic RAM(DRAM), flash memories or any type of media suitable for storingelectronic instructions, including programmable storage devices. Asystem according to embodiments of the invention may include componentssuch as, but not limited to, a plurality of central processing units(CPU) or any other suitable multi-purpose or specific processors orcontrollers, a plurality of input units, a plurality of output units, aplurality of memory units, and a plurality of storage units. A systemmay additionally include other suitable hardware components and/orsoftware components. In some embodiments, a system may include or maybe, for example, a personal computer, a workstation, a server computer,a network device or any other suitable computing device.

While certain features of the invention have been illustrated anddescribed herein, many modifications, substitutions, changes, andequivalents may occur to those skilled in the art. It is, therefore, tobe understood that the appended claims are intended to cover all suchmodifications and changes as fall within the true spirit of theinvention.

1. A system for securing messages comprising a forward mediator and areverse mediator, the forward mediator to: receive an original message;process the original message to provide a at least one processedmessage, wherein the processing includes transforming at least oneportion of the original message; forward the at least one processedmessage to a at least one server; and the reverse mediator to: receive aprocessed message from a server, and process the received processedmessage to provide an unprocessed message.
 2. The system of claim 1,wherein processing the original message includes encrypting at least aportion of the original message.
 3. The system of claim 1, whereinprocessing the original message includes encrypting at least a portionof the original message, wherein the portion is selected from the groupconsisting of: at least one recipient address, a sender address, asubject associated with the message, at least one attachment, at leastone message header, and a body of the message.
 4. The system of claim 1,wherein processing the original message includes generating at least onerecipient address and including the generated at least one recipientaddress in the processed message, wherein the generated recipientaddress is designed to cause the server to send the processed message tothe reverse mediator.
 5. The system of claim 1, wherein said originalmessage and said unprocessed message are email messages.
 6. The systemof claim 1, wherein processing the original message includes classifyingthe original message to produce message classification information. 7.The system of claim 1, wherein: processing an original message toproduce a processed message includes: generating at least one securedsearch term based on at least one original term included in the originalmessage; and including the generated at least one secured search term inthe processed message.
 8. The system of claim 1, further comprising asearch mediator, said search mediator to: receive a first request from aclient; generate a second request based on the first request; generateat least one secured search term based on at least one original searchterm included in the first request; include the at least one securedsearch term in the second request; and forward the second request to theserver.
 9. The system of claim 1, wherein processing an original messageto produce a processed message includes changing a location of at leasta portion of the original message.
 10. The system of claim of claim 7,wherein processing an original message to produce a processed messageincludes changing a location of at least one of: said at least oneoriginal term and said at least one secured search term.
 11. The systemof claim 1, wherein processing an original message to produce aprocessed message is according to one of: a sender of the message and areceiver of the message.
 12. The system of claim 1, wherein the forwardmediator is to include a parameter in the processed message and, thereverse mediator is to validate the processed message based on theparameter.
 13. The system of claim 12, wherein validating the processedmessage is based on at least one of: an integrity parameter and a timethe original message was received by the forward mediator.
 14. Thesystem of claim 7, wherein processing an original message to produce aprocessed message includes normalizing at least one original termincluded in the original message and generating a secured search termbased on the normalized at least one original terms.
 15. The system ofclaim 7, wherein processing an original message to produce a processedmessage includes selecting at least one original search term based on atleast one of: a length of an original search term, a presence of anoriginal search term in a set of terms and an absence of an originalsearch term in a set of terms.
 16. The system of claim 7, whereinprocessing an original message to produce a processed message includesat least one of: deterministically encrypting said at least one originalsearch terms using a secret key and applying non-reversible keyedsecurity transformation to at least one original search term.
 17. Amethod of securing messages, the method comprising: receiving anoriginal message destined to a client; processing the original messageto provide a at least one processed message, wherein the processingincludes transforming at least one portion of the original message;forwarding the at least one processed message to a at least one server;and receiving a processed message from a server; processing the receivedprocessed message to provide an unprocessed message; and forwarding theunprocessed message to a client.
 18. The method of claim 17, whereinprocessing the original message includes encrypting at least a portionof the original message.
 19. The method of claim 17, wherein processingthe original message includes encrypting at least a portion of theoriginal message, wherein the portion is selected from the groupconsisting of: at least one recipient address, a sender address, asubject associated with the message, at least one attachment, at leastone message header, and a body of the message.
 20. The method of claim17, wherein processing the original message includes generating at leastone recipient address and including the generated at least one recipientaddress in the processed message, wherein the generated recipientaddress is designed to cause the server to send the processed message tothe reverse mediator.
 21. The method of claim 17, wherein said originalmessage and said unprocessed message are email messages.
 22. The methodof claim 17, wherein processing the original message includesclassifying the original message to produce message classificationinformation.
 23. The method of claim 17, wherein processing the originalmessage includes generating at least one secured search termcorresponding to at least one original search terms included in theoriginal message, wherein said generating includes at least one of:normalizing at least one original search terms, selecting at least oneoriginal search term according to a length of an original search term,selecting at least one original search term according to a presence in aset of terms, encrypting at least one original search term using asecret key and applying a one-way keyed security transformation to atleast one original search term.